The 802.11 MAC (standing for Medium Access Control) standard supports access to a shared wireless or radio medium through a technique called Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA). The 802.11 standard is mainly directed to the waiting management of nodes waiting for the medium to become idle so as to try accessing to the medium.
FIG. 1 illustrates a communication system in which several communicating nodes exchange data packets over a radio transmission channel 100 of a wireless local area network (WLAN).
Access to the shared radio medium to send data packets is based on the CSMA/CA technique, for sensing the carrier and avoiding collision by separating concurrent transmissions in space and time.
Carrier sensing in CSMA/CA is performed by both physical and virtual mechanisms. The virtual carrier sensing is achieved by transmitting control packets to reserve the medium prior to transmission of data packets.
Then after, through the physical mechanism, a transmitting node first attempts to sense a medium that has been idle for at least one DIFS (standing for Distributed InterFrame Spacing) time period, before transmitting data packets.
However, if it is sensed that the shared radio medium is busy during the DIFS period, the transmitting node waits until the radio medium becomes idle and then starts a countdown backoff counter designed to expire after a number of timeslots, chosen randomly between [0,CW], CW being referred to as the contention window. This backoff mechanism is the basis of the collision avoidance mechanism that defers the transmission time for a random interval, thus reducing the probability of collisions on the shared channel. After the backoff time period, the transmitting node may send the data packets.
One of the problems of wireless data communications is that it is not possible for the transmitting node to listen while sending, thus preventing the transmitting node from detecting data corruption due to channel fading or interference or collision phenomenon. A transmitting node remains unaware of the corruption of the data packets sent and continues to transmit the packets unnecessarily, thus wasting access time.
Collision Avoidance mechanism of CSMA/CA thus provides positive acknowledgement (ACK) of the sent data packets by the receiving node in case of successful packet reception, to warn the transmitting node that no corruption of the sent data packets occurred.
The ACK is transmitted at the end of reception of the data packet, immediately after a period of time called Short InterFrame Space (SIFS).
If the transmitting node does not receive the ACK within a specified ACK timeout or detects the transmission of a different packet on the channel, it may infer data packet loss. In that case, it generally reschedules the packet transmission according to the above-mentioned backoff rule.
To improve the Collision Avoidance efficiency of CSMA/CA, a four-way handshaking mechanism is optionally implemented. One implementation is known as the RTS/CTS exchange, defined in the 802.11 standard.
The RTS/CTS exchange consists in exchanging control packets to reserve the radio medium prior to transmitting data packets during a transmission opportunity called TXOP in the 802.11 standard, thus protecting data transmissions from any further collisions.
As illustrated in FIG. 2, a transmitting node (“source” in the Figure) that wants to transmit data packets, sends a special short frame or message acting as a medium access request to reserve the radio medium, instead of the data packets themselves, just after the channel has been sensed idle for a DIFS or after the backoff period as explained above. The medium access request is known as a Request-To-Send (RTS) message. It is generally sent at a low transmission bit rate to avoid transmission error, compared to the transmission bit rate used to transmit the data packets themselves.
The RTS message generally comprises the address of the receiving node (“destination” in the Figure) and the duration for which the radio medium is to be reserved for transmitting the control packets and the data packets.
Upon receiving the RTS message and if sensing the radio medium as being idle, the receiving node responds, after a SIFS time period, with a medium access response, known as a Clear-To-Send (CTS) message. The CTS message is also sent at the low transmission bit rate, and comprises the remaining time required for transmitting the data packets, computed from the time point at which the CTS message is sent.
The CTS message is considered by the transmitting node as an acknowledgment of its request to reserve the shared radio medium for a given time.
The transmitting node is thus allowed to send the data packets upon correctly receiving the CTS message and after a new SIFS time period. ACK messages are sent by the receiving node after having correctly received the data packets sent.
The required time for transmission defined in the RTS and CTS messages can be read by any listening node (“other” in FIG. 2) in the radio network.
Each node has in memory a data structure known as the network allocation vector or NAV to store the duration of time for which it is known that the medium will be busy. When listening to a control packet (RTS or CTS) not addressed to itself, a listening node updates its NAV with the required transmission time duration specified in the control packet. The listening node thus keeps in memory the period of time for which the radio medium will remain busy. This prevents the listening nodes from transmitting any data or control packets during that period.
One may note that the receiving node may not always respond to a RTS message that is addressed to it, for example because it might not have received the RTS correctly due to collision or fading, or because its NAV might have been set. In such cases, the transmitting node will not receive a CTS message in response and thus will enter into the random backoff mechanism before resending the RTS message.
The RTS/CTS mechanism is very efficient in terms of system performance, in particular with regard to large packets since it reduces the length of the messages involved in the contention process. In detail, assuming perfect channel sensing by every communicating node, collision may only occur when two (or more) packets are transmitted within the same slot time. But, with the RTS/CTS exchange, it may only occur for the RTS messages, thus providing an early detection of collision by the lack of CTS responses.
The conventional RTS/CTS mechanism, as defined in 802.11, is directed to the reservation of transmission time slots for a transmitting node/receiving node pair.
The publication “Efficient Medium Access Protocols for Wireless and RFID networks” (Shweta Jain, PhD, 2007) discloses protocols for multiple accesses to a radio medium in particular in 802.11 networks. Multicast transmission in one transmission time slot is described in that publication.
To achieve such multicast transmission in one transmission time slot, the transmitting node first sends an RTS message containing the addresses of the multiple receiving nodes for which data packets are intended. In response to the RTS message, the receiving nodes sequentially send respective CTS messages, keeping the order of the receiving nodes as specified in the received RTS message to avoid collision between the CTS messages.
However the approach of that publication is only directed to multicast. It is not suitable when collaborative node communication with multiple transmitting nodes and multiple receiving nodes is sought.
The inventors first thought about a multiple node allocation mechanism that proved not to be fully satisfactory.
Among wireless communicating nodes of a 802.11 network (referred to as “legacy nodes”), a group of collaborative nodes may decide to collaboratively communicate by for example together subscribing to a corresponding collaborative communication distributed service. Any node implementing the present invention may become a collaborative node by joining the group.
Any collaborative node could send an RTS message according to the conventional 802.11 protocol to reserve a TXOP on behalf of the whole collaborative group. The reserved transmission time slot is shared between the collaborative nodes and data packets are transmitted using a new protocol.
However, despites the use of the conventional RTS/CTS exchange, legacy nodes are liable to impact the communicating availability of certain collaborative nodes, for example when the legacy nodes in the vicinity of those collaborative nodes are already involved in a communication exchange. Other collaborative nodes (out of reach of the legacy nodes) are generally not aware of the interference endured by the said certain collaborative nodes and of their un-availabilities.
As a result, certain collaborative nodes are not able to join the group talk or tell the others of their interference difficulties. Any dedicated time sub-slot inside the reserved transmission time slot (e.g. TDMA inside 802.11 TXOP) will thus be lost.
This loss is detrimental to radio network efficiency. This is because since the/a CSMA/CA-based radio medium (like 802.11) is not deterministic (i.e. with no guarantee of obtaining medium access), any waste of reserved time should be avoided.
As a consequence, there is a need to provide a better communication method that efficiently uses the reserved transmission time slot.
The present invention has been devised to address at least one of the foregoing concerns, in particular to provide efficient collaborative communication between nodes of a radio network.